/*
 * Módulo que implementa el algoritmo MD5 para calcular el hash
 * de un archivo.
 * 
 * 
 * 90365 - Nahuel M. Lucero Seinturia 
 * 
 */

#ifndef __MD5_INCLUDED__
#define __MD5_INCLUDED__


/* Recibe por parametro el nombre del archivo a procesar, y una cadena
 * de caracteres donde devolvera el hash MD5 del archivo (supone que 
 * tiene espacio suficiente, 33 bytes). 
 * Si no se puede abrir el archivo, devuelve una cadena vacia.
 */
void calcularHashMD5(char* nombreArchivo, char* hashMD5calculado);

/* Recibe por parametro un bloque de datos a procesar, y una cadena
 * de caracteres donde devolvera el hash MD5 del archivo (supone que 
 * tiene espacio suficiente, 33 bytes).
 */
void calcularHashMD5Bloque(const char* bloque, 
                           size_t size_bloque, 
                           char* hashMD5calculado);

#endif
